Staged Allocation: Engineering the Specification and Implementation of Procedure Calling Conventions
نویسندگان
چکیده
We present staged allocation, a new technique for specifying calling conventions. A specification written using staged allocation has a precise, formal semantics, and it can be executed directly inside a compiler. An implementation takes about 250 lines of ML or 650 lines of C++. Descriptions of nine calling conventions range in size from 15 to 30 lines each.
منابع مشابه
Construction of Systems Software Using Specifications of Procedure Calling Conventions
The procedure calling convention impacts the operation of many system software components. The interface between procedures, which is established by the calling convention, facilitates separate compilation of program modules and interoperability of programming languages. The procedure calling convention dictates the way that program values are communicated, and how machine resources are shared ...
متن کاملA Formal Model and Specification Language for Procedure Calling Conventions 1
Procedure calling conventions are used to provide uniform procedure call interfaces. Applications, such as compilers and debug-gers, which generate, or process procedures at the machine-language abstraction level require knowledge of the calling convention. In this paper, we develop a formal model for procedure calling conventions called P-FSA's. Using this model, we are able to ensure several ...
متن کاملCustom Calling Conventions in a Portable Assembly Language
Calling conventions are so difficult to implement and maintain that people rarely experiment with alternatives. The primary sources of difficulty appear to be parameter passing and stack-frame layout. To implement parameter passing, we use the automata developed by Bailey and Davidson, but we have developed a new specification language that is implementable directly in the compiler. To implemen...
متن کاملMultithreading Languages
It is di cult to map the execution model of multithreading languages (languages which support ne-grain dynamic thread creation) onto the single stack execution model of C. Consequently, previous work on e cient multithreading uses elaborate frame formats and allocation strategy, with compilers customized for them. This paper presents an alternative cost-e ective implementation strategy for mult...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004